Host terminal emulator

ABSTRACT

Disclosed is a host terminal emulator installed in a client computer to detect a coordinate at which a non-protecting attribute is set from coordinates in CUI screen data when it is received from a host computer, to generate GUI screen data in which GUI parts corresponding to the non-protecting attribute are set at respective coordinates following the detected coordinate, to correct the GUI screen data so as to transform the GUI parts in response to the coordinate at which the non-protecting attribute is set, and to display a screen based on the corrected GUI screen data on a monitor.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a host terminal emulator that issoftware to make a common computer work as a terminal device foroperating a host computer.

[0003] 2. Prior Art

[0004] Conventionally, dealers who use general purpose computers, suchas a main frame, as a business-use host computer were able to operatethe host computer only through dedicated terminals connected with thehost computer. However, more recently, since personal computersgenerally marketed have become powerful and communication environmenthas been improved, personal computers can be used as terminals.Therefore, it became unnecessary for dealers to own dedicated terminals.

[0005] In order to use a personal computer as a terminal, it isnecessary to connect the personal computer with a host computer througha network, and to install a communication control program, which is usedfor transmitting/receiving data to/from the host computer, and softwarecalled a host terminal emulator on the personal computer. The personalcomputer on which the communication control program and the hostterminal emulator are running is called a host terminal.

[0006] The host terminal transmits a command inputted by an operator tothe host computer. The host computer that received the command performsprocess in response to the command, transmitting the screen data to thehost terminal for updating some or all of contents on the screen todisplay the result of the process. The host terminal that received thescreen data updates some or all of contents displayed on the screenbased on the screen data. After finishing a series of updates of thescreen, the host terminal stands by until the following command isinputted.

[0007] Incidentally, the screen displayed on a conventional hostterminal is the simple screen constituted by many characters such asnumerals, alphabetic characters, kana, Chinese characters and symbols,and many blanks, i.e., a CUI (Character User Interface) screen. However,a recent host terminal requires a GUI (Graphical User Interface) screen.That is, it is required that data of a CUI screen is displayed as a GUIscreen that includes many GUI parts such as a text box.

[0008] In addition, the screen data for displaying a CUI screen on thehost terminal (it is referred to as CUI screen data) sent from the hostcomputer consists of records each of which includes coordinate valueprepared for every coordinate in a text coordinate system defined by aline and the number of characters in a text-based screen, charactercodes, and attribute information. The attribute information shows theattribute such as a protecting field, a non-protecting field, a ruledline, a color, an alphabetic character field, a kana field, a Chinesecharacter field, an initial position of a cursor, etc. Since the CUIscreen data was constituted in such a manner, the host terminal emulatorcould employ any one of two methods to generate the screen data fordisplaying a GUI screen (it is referred to as GUI screen data) based onCUI screen data.

[0009] The first method is to prepare the screen data of GUI screenscorresponding to all kinds of the CUI screens, respectively. Forexample, see Japanese Patent Provisional-Publication No. H06-035855.According to the first method, the host terminal extracts the characterstring that specifies the kind of CUI screen from CUI screen data,reading the initial data of the GUI screen from a disk corresponding tothe extracted character string. Then, the host terminal outputs the GUIscreen data in which the other character strings in the CUI screen dataare incorporated into the predetermined position in the initial data.According to the first method, the GUI parts can be freely arranged inthe GUI screen independently of the attributes and arrangements of thecharacters in the CUI screen, which increases the visibility of the GUIscreen.

[0010] The second method is to replace parts that can be GUI parts in aCUI screen by GUI parts one by one. In the second method, the hostterminal extracts the coordinates at which the specific attribute wasset from the coordinates in the CUI screen data, generating GUI screendata in which the GUI parts corresponding to the specific attribute areset at the extracted coordinates. According to the second method, thehost terminal emulator can always generate GUI screen data based on CUIscreen data, even if any kinds of CUI screen data are sent from the hostcomputer.

[0011] However, according to the first method mentioned above, GUIscreen data must be prepared for all kinds of CUI screens that could beoutputted. For this reason, when there are the 2000 or more kinds, forexample, the preparation of the GUI screen data, i.e., the developmentof the host terminal emulator, needs huge time and effort.

[0012] Moreover, according to the second method mentioned above, if oneof the attributes that should make a pair like a non-protecting fieldattribute and a protecting field attribute does not exist in CUI screendata or it is set at a wrong coordinate, a GUT part may not beappropriately displayed on the GUI screen displayed on the hostterminal. Therefore, such a GUI screen reduces visibility on thecontrary.

SUMMARY OF THE INVENTION

[0013] It is therefore an object of the present invention to provide animproved host terminal emulator, which is capable of operating a clientcomputer as a host terminal that can generate GUI screen data toappropriately display GUI parts on the precondition that parts in a CUIscreen are replaced by GUI parts one by one.

[0014] For the above object, a host terminal emulator according to afirst aspect of the present invention employs the followingconstruction.

[0015] That is, the host terminal emulator according to the first aspectof the present invention operates a client computer, which is connectedto a monitor for displaying various kinds of screens and to acommunication control unit for transmitting/receiving data to/from ahost computer, to detect a coordinate at which a predetermined firstattribute is set from coordinates in CUI screen data when thecommunication control unit receives CUI screen data from the hostcomputer, to generate GUI screen data in which GUI parts correspondingto the first attribute are set at the respective coordinates followingthe detected coordinate, to correct the GUI screen data in response tothe coordinate at which the first attribute is set, and to display ascreen based on the GUI screen data on the monitor.

[0016] With this construction, the GUI screen data will be corrected inresponse to the coordinate at which the first attribute is set in theCUI screen data, which can prevent inappropriate display of the GUIparts due to the coordinate.

[0017] A host terminal emulator according to the second aspect of thepresent invention operates a client computer, which is connected to amonitor for displaying various kinds of screens and to a communicationcontrol unit for transmitting/receiving data to/from a host computer, todetect a coordinate at which a predetermined first attribute is set fromcoordinates in CUI screen data when the communication control unitreceives CUI screen data from the host computer, to generate GUI screendata in which GUI parts corresponding to the first attribute are set atthe respective coordinates following the coordinate at which the firstattribute is set, to detect a coordinate at which a second attributecorresponding to the first attribute is set from coordinates in the CUIscreen data, to correct the GUI screen data in response to thecoordinate at which the second attribute is set when a coordinate atwhich the second attribute is detected, and to display a screen based onthe GUI screen data on the monitor.

[0018] With this construction, when a coordinate at which the firstattribute is set and a coordinate at which the second attributecorresponding to the first attribute are detected in the CUI screendata, the GUI screen data will be corrected in response to thecoordinate at which the second attribute is set, which can preventinappropriate display of the GUI parts due to the coordinate.

[0019] A host terminal emulator according to the third aspect of thepresent invention operates a client computer, which is connected to amonitor for displaying various kinds of screens and to a communicationcontrol unit for transmitting/receiving data to/from a host computer, todetect a coordinate at which a predetermined first attribute is set fromcoordinates in CUI screen data when the communication control unitreceives CUI screen data from the host computer, to generate GUI screendata in which GUI parts corresponding to the first attribute are set atthe respective coordinates following the coordinate at which the firstattribute is set, to detect a coordinate at which a second attributecorresponding to the first attribute is set from coordinates in the CUIscreen data, to correct the GUI screen data to transform the GUI partswhen a coordinate at which the second attribute is not detected, and todisplay a screen based on the GUI screen data on the monitor.

[0020] With this construction, when a coordinate at which the firstattribute is set is detected and a coordinate at which the secondattribute corresponding to the second attribute is not detected in theCUI screen data, the GUI screen data will be corrected to transform theGUI parts. This can prevent inappropriate display of the GUI parts dueto lack of the second attribute.

DESCRIPTION OF THE ACCOMPANYING DRAWINGS

[0021]FIG. 1 is a block diagram showing a network to which an embodimentof the present invention is applied;

[0022]FIG. 2 is a block diagram showing construction of a host terminal;

[0023]FIG. 3 is a flowchart showing contents of a host terminalemulating process of the embodiment;

[0024]FIG. 4 shows one example of a CUI screen;

[0025]FIG. 5 is a flowchart showing the contents of a GUI conversionsubroutine;

[0026]FIG. 6 shows one example of a GUI screen;

[0027]FIGS. 7 and 8 are flowcharts showing the contents of a text boxcorrection subroutine;

[0028]FIG. 9 shows one example of a screen with a cursor at a wrongposition;

[0029]FIG. 10 shows one example of a GUI screen where a text box isarranged at a cursor position;

[0030]FIG. 11 shows one example of an initial GUI screen withunnecessary text boxes;

[0031]FIG. 12 shows one example of an initial GUI screen where all textboxes were deleted;

[0032]FIG. 13 shows one example of a GUI screen where a text box isdisplayed across four lines;

[0033]FIG. 14 shows one example of a GUI screen where a text box isdisplayed as a single line format;

[0034]FIG. 15 shows one example of a GUI screen where a text box isdisplayed as a multi-line format;

[0035]FIG. 16 shows one example of a GUI screen where a text box isdisplayed at the upper left corner;

[0036]FIG. 17 shows one example of a GUI screen where the text box atthe upper left corner has been deleted;

[0037]FIG. 18 is a flowchart showing contents of a background correctionsubroutine;

[0038]FIG. 19 shows one example of a GUI screen whose background hassingle color;

[0039]FIG. 20 shows one example of a GUI screen whose background has twocolors forming horizontal stripes;

[0040]FIG. 21 is a flowchart showing contents of a cursor displaycorrection subroutine;

[0041]FIG. 22 shows one example of a GUI screen where a color inside thetext box in which a cursor is positioned is reversal;

[0042]FIG. 23 shows one example of a GUI screen where a color of theline on which a cursor is positioned is reversal; and

[0043]FIG. 24 is a flowchart showing contents of a character sizeadjustment subroutine.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0044] Hereafter, an embodiment of the present invention will bedescribed with reference to the drawings.

[0045]FIG. 1 is a block diagram showing a network to which theembodiment of the present invention is applied. In the embodiment, abusiness-use host computer H that is a general purpose computer such asa main frame, is used. The host computer H stores business data.Moreover, when the host computer H accepts a command, it performsoperation process corresponding to the command and outputs the screendata for updating some or all of a screen to display a processingresult.

[0046] The host computer H transmits/receives data to/from a gatewayunit G through the vender's own communication architecture. The gatewayunit G is connected with many client computers 10 through a network suchas a LAN (Local Area Network). The gateway unit G converts the vender'sown communication protocol of the host computer H into the TCP/IP(Transmission Control Protocol/Internet Protocol), or carries out thereverse conversion. Specifically, the gateway unit G is a so-calledrelay server such as an FNA (Fujitsu Network Architecture: Trademark ofFUJITSU, LTD.) server, an SNA (Systems Network Architecture: Trademarkof IBM) server, and an HNA (Hitachi Network Architecture: Trademark ofHitachi, Inc.) server.

[0047]FIG. 2 is a block diagram showing construction of a clientcomputer 10. The client computer 10 consists of an input device such asa keyboard and a mouse, a monitor for displaying various screens and amain body connected with the input device and the monitor. The main bodyis provided with various parts of hardware such as a CPU 10 a, a RAM 10b, a communication control unit 10 c, a flexible disk drive (FDD) 10 d,a compact disk drive (CDD) 10 e and a hard disk drive (HDD) 10 f.

[0048] The CPU 10 a is the central processing unit that totally controlsthe parts 10 b through 10 f of the hardware. The RAM 10 b is a memorythat temporarily stores the part of the programs and the data that arefrequently used by the CPU 10 a. The communication control unit 10 c isa TAN interface board connected to the LAN to managetransmission/reception of the data to/from the computers connected tothe LAN.

[0049] The FDD 10 d are the CDD 10 e are the drives that read data andprograms stored in a computer-readable medium such as a flexible disk FDand a compact disk CD, and that write data and programs in the disks FDand CD. Data and programs read from the disks FD and CD by through thedrives 10 d and 10 e are installed in the HDD 10 f.

[0050] The HDD 10 f is an external storage from which various kinds ofdata and programs are read and to which various kinds of data andprograms are written. An operation system (OS) program 11, acommunication control program 12 and a host terminal emulator 13 areinstalled in the HDD 10 f.

[0051] The OS program 11 operates the CPU 10 a for totally managinghardware and software. The OS program 11 has a function to display ascreen on the above-mentioned monitor based on screen data.

[0052] The communication control program 12 is a program fortransmitting/receiving data to/from the host computer H in the fifthlayer of the OSI (Open System Interconnection) reference model. Morespecifically, the communication control program 12 makes the CPU 10 atransmit the data received from the function of the host terminalemulator 13 mentioned later to the host computer H, and transmit thedata received from the host computer H to the function of the hostterminal emulator 13.

[0053] The host terminal emulator 13 is software that makes the CPU 10 atransmit the command inputted by an operator to the host computer Husing the function of the communication control program 12, and thatmakes the CPU 10 a display a screen based on screen data received fromthe host computer H through the function of the communication controlprogram 12 on the monitor using the function of the OS program 11. Inthe following description, the display using the function of the OSprogram 11 is simply expressed as a display, and the transmission andreception of data using the function of the communication controlprogram 12 are simply expressed as transmission and reception.

[0054] When the host terminal emulator 13 is started by an operator, theclient computer 10 starts a host terminal emulating process. The clientcomputer 10 on which the host terminal emulating process is runningfunctions as a terminal for operating the host computer H mentionedabove. FIG. 3 is a flowchart showing the contents of the host terminalemulating process.

[0055] At S101 of the host terminal emulating process, the CPU 10 adisplays a login screen on the monitor based on the login screen dataread from the HDD 10 f.

[0056] Next, at S102, the CPU 10 a stands by until the enter key of theinput device is depressed. When the enter key of the input device isdepressed, the CPU 10 a brings the process to S103.

[0057] At S103, the CPU 10 a transmits a login ID and a password thatare inputted in the login screen at the time when the enter key wasdepressed at S102 to the host computer H.

[0058] Next, at S104, the CPU 10 a stands by until it receives thescreen data for updating some or all of the screen from the hostcomputer H. The screen data transmitted from the host computer H (it isreferred to as CUI screen data) is binary form data consists of recordseach of which includes coordinate value prepared for every coordinate ina text coordinate system defined by a line and the number of charactersin a text-based screen, character codes, and attribute information. Forexample, assuming that the coordinate value at the upper left corner inthe screen (a region in an application window, in fact) is (0, 0) andthe coordinate value at the lower right corner is (24, 80), the CUIscreen data for updating all screen includes the following records:

[0059] (Coordinate(0, 0), Character code, Attribute information),

[0060] (Coordinate(1, 0), Character code, Attribute information),

[0061] . . .

[0062] (Coordinate(24, 80), Character code, Attribute information).

[0063] The attribute information represents the attribute such as aprotecting field, a non-protecting field, a ruled line, a color, analphabetic character field, a kana field, a Chinese character field, aninitial position of a cursor, etc. FIG. 4 shows one example of a screendisplayed on a monitor of a conventional dedicated terminal based on CUIscreen data for updating all screen (this kind of screen is referred toas a CUI screen). As shown in FIG. 4, the CUI screen is constituted bymany characters such as numerals, alphabetic characters, kana, Chinesecharacters and symbols, and many blanks. Further, the above-mentionedattribute information is set at the several coordinates. In FIG. 4, theprotecting field attribute and the non-protecting field attribute areconceptually shown by the symbols “[” and “]”. While these attributesare not displayed on the actual screen, they are illustrated for apurpose of description. The region between the coordinate at which theprotecting field attribute is set and the coordinate at which thenon-protecting field attribute is set is a non-protecting field. Thenon-protecting field is a region for an operator inputting characterstrings such as a command. The CPU 10 a brings the process to S105 whenCUI screen data for displaying a CUI screen as shown in FIG. 4 isreceived from the host computer H.

[0064] At S105, the CPU 10 a executes a GUI conversion subroutine. FIG.5 is a flowchart showing the contents of the GUI conversion subroutine.

[0065] At S201 of the GUI conversion subroutine, the CPU 10 a executesan automatic conversion process. Since the automatic conversion processis well-known, it will be explained briefly. That is, the CPU 10 adetects the coordinate at which the predetermined attribute is set fromthe coordinates in the CUI screen data, specifying the GUI partcorresponding to the attribute with reference to the table (not shown)recorded on the HDD 10 f. Then the CPU 10 a generates the screen data(it is referred to as GUI screen data) in which the GUI parts are set atthe detected coordinate. FIG. 6 shows one example of the screen (it isreferred to as a GUI screen) displayed on the monitor of the clientcomputer 10 based on the GUI screen data that is generated from the CUIscreen data shown in FIG. 4 through the automatic conversion process. Asshown in FIG. 6, the text box is shown in the non-protecting field inthe CUI screen of FIG. 4. That is, the automatic conversion process setsa start point of a text box at the coordinate having the non-protectingfield attribute, and makes the text box extend to the following regionafter the coordinate. Moreover, an end point of the text box is set atthe coordinates having the protecting field attribute. The CPU 10 abrings the process to S202, after executing the automatic conversionprocess.

[0066] At S202, the CPU 10 a executes a text box correction subroutine.FIGS. 7 and 8 show a flow chart showing the text box correctionsubroutine.

[0067] At S301 of the text box correction subroutine, the CPU 10 aspecifies a first target coordinate from the coordinates in the CUIscreen data.

[0068] Next, at S302, the CPU 10 a distinguishes whether the initialposition attribute of the cursor is set at the first target coordinateor not. Then, the CPU 10 a brings the process to S303, when the initialposition attribute of the cursor is set at the first target coordinate.

[0069] At S303, the CPU 10 a changes the setting of the GUI screen dataso that a new text box is displayed. The start point of the new text boxis set at the target coordinate and the end point thereof is set at theend of the line including the target coordinate. In addition, the hostcomputer may transmit the CUI screen data in which only the initialposition attribute of the cursor is set at the first coordinate in orderto change the initial position of the cursor. Therefore, a text box isnot displayed at the cursor position as shown in FIG. 9 for example,when the process at S303 was not executed. On the other hand, when theprocess at S303 was executed, a text box with a cursor at the startpoint thereof is displayed as shown in FIG. 10 for example. After theCPU 10 a executes the process at S303, it finishes the text boxcorrection subroutine and brings the process to S203 of the GUIconversion subroutine in FIG. 5.

[0070] On the other hand, in S302, when the initial position attributeof the cursor is not set at the first target coordinate, the CPU 10 abrings the process to S304.

[0071] At S304, the CPU 10 a distinguishes whether the non-protectingfield attribute is set at the target coordinate or not. Then, the CPU 10a brings the process to S316, when the non-protecting field attribute isnot set at the target coordinate. On the other hand, when thenon-protecting field attribute is set at the target coordinate, the CPU10 a brings the process to S305.

[0072] At S305, the CPU 10 a records the target coordinate on the RAM 10b, bringing the process to S306.

[0073] At S306, the CPU 10 a distinguishes whether the target coordinateis coincident with the coordinates (0, 0) at the upper left corner ofthe screen. The CPU 10 a brings the process to S307, when the targetcoordinate is coincident with (0, 0).

[0074] At S307, the CPU 10 a changes the setting of the GUI screen datato delete all the text boxes. In addition, the host computer H transmitsthe CUI screen data for displaying the initial screen that has a hostapplication namo, an announcement or the like to the client computer 10after the client computer 10 logs in the host computer H. Thenon-protecting field attribute is always set at the coordinate of theupper left corner in the CUI screen data for the initial screen.Moreover, although the non-protecting field attribute is set at somecoordinates in the CUI screen data for the initial screen, theprotecting field attribute is not set at any coordinates. Such a settingis common in every vender. Therefore, if the process at S307 is notexecuted, unnecessary text boxes will be displayed over the entire areaof the initial screen as shown in FIG. 11 for example. On the otherhand, when the process at S307 has been executed, a text box is notdisplayed on an initial screen as shown in FIG. 12, for example becauseall text boxes has been deleted. After the CPU 10 a executed the processat S307, it finishes the text box correction subroutine, bringing theprocess to S203 of the GUI conversion subroutine in FIG. 5.

[0075] On the other hand, at S306, when the target coordinate was notcoincident with (0, 0), the CPU 10 a brings the process to S308.

[0076] At S308, the CPU 10 a distinguishes whether the protecting fieldattribute corresponding to the non-protecting field attribute is set atcoordinates following the target coordinate in the CUI screen data ornot. When the protecting field attribute corresponding to thenon-protecting field attribute is set at a coordinate in the CUI screendata, the CPU 10 a brings the process to S309.

[0077] At S309, the CPU 10 a distinguishes whether the non-protectingfield between the coordinate having the non-protecting field attributeand the coordinate having the protecting field attribute occupies threeor more lines. When the non-protecting field does not occupy three ormore lines, the CPU 10 a brings the process to S316. On the other hand,when the non-protecting field occupies three or more lines, the CPU 10 abrings the process to S310.

[0078] At S310, the CPU 10 a distinguishes whether the non-protectingfield that occupies three or more lines is designated to be changed intoa single line or into multi-line format. The designation ispredetermined by an operator of the client computer 10. Then, the CPU 10a brings the process to S311 when the single line format is designated.

[0079] At S311, the CPU 10 a changes the setting of the GUI screen dataso that the end of the text box whose start point is coincident with thetarget coordinate is set at the end of the line including the targetcoordinate. In addition, if the process at S311 is not executed, a textbox is formed across four lines as shown in FIG. 13, for example.However, after the process at S311, the text box that was formed acrossfour lines is converted into a single line and the end of the text boxis positioned at the right end of the screen as shown in FIG. 14, forexample. The CPU 10 a brings the process to S316 after executing theprocess at S311.

[0080] On the other hand, the CPU 10 a brings the process to S312 whenthe multi-line format is designated.

[0081] At S312, the CPU 10 a changes the setting of the GUI screen dataso that the text box that occupies three or more lines is converted intoa multi-line text box. In addition, if the process at S312 is notexecuted, a text box is formed as four blocks as shown in FIG. 13, forexample. However, after the process at S312, the text box that wasformed as four blocks is converted into a single block as a whole asshown in FIG. 15, for example. The CPU 10 a brings the process to S316after executing the process at S312.

[0082] Moreover, at S308, when the protecting field attributecorresponding to the non-protecting field attribute does not exist inthe CUI screen data, the CPU 10 a brings the process to S313.

[0083] At S313, the CPU 10 a distinguishes whether a wrapping processhas been designated in advance. The wrapping process makes a region of apredetermined attribute continue from the upper left corner of thescreen when the end of the region is not set through the lower rightcorner of the screen. This designation is also predetermined by anoperator of the client computer 10. Then the CPU 10 a brings the processto S315 when the wrapping process is not designated. On the other hand,when the wrapping process is designated, the CPU 10 a brings the processto S314.

[0084] At S314, the CPU 10 a changes the setting of the GUI screen dataso that the text box is not displayed in the region following the upperleft corner in the screen. In addition, it the process at S314 is notexecuted, a text box is displayed in the region following the upper leftcorner in the screen as shown in FIG. 16, for example. On the otherhand, after the process at S314, a text box will not be displayed in theregion following the upper left corner in the screen as shown in FIG.11, for example. The CPU 10 a brings the process to S315 after executingthe process at S314.

[0085] At S315, the CPU 10 a changes the setting of the GUI screen dataso that the text box will be a multi-line text box when the text boxbefore the lower right corner of the screen occupies two or more lines.There, the CPU 10 a brings the process to S316.

[0086] At S316, the CPU 10 a distinguishes whether any unfinishedcoordinates exist in the CUI screen data. When there is an unfinishedcoordinate, the CPU 10 a brings the process to S317.

[0087] At S317, the CPU 10 a specifies the following target coordinatefrom the unfinished coordinates in the CUI screen data, returning theprocess to S304.

[0088] When all the coordinates in the CUI screen data are finishedduring the loop of S304 through S317, the CPU 10 a branches the processat S316. Then, the CPU 10 a finishes the text box correction subroutine,bringing the process to S203 in the GUI conversion subroutine of FIG. 5.

[0089] At S203, the CPU 10 a executes a background correctionsubroutine. FIG. 18 is a flowchart showing the contents of thebackground correction subroutine.

[0090] At S401 of the background correction subroutine, the CPU 10 aspecifies a first target line from the lines in the GUI screen data.

[0091] Next, at S402, the CPU 10 a distinguishes whether the target lineis an odd line or not. Then, the CPU 10 a brings the process to S403,when the target line is an odd line. At S403, the CPU 10 a changes thesetting of the GUI screen data so that a color predetermined for oddlines is set as the background color of the target line. Then, the CPU10 a brings the process to S405.

[0092] On the other hand, at S402, when the target line is an even line,the CPU 10 a brings the process to S404. At S404, the CPU 10 a changesthe setting of the GUI screen data so that a color predetermined foreven lines is set as the background color of the target line. Then, theCPU 10 a brings the process to S405.

[0093] At S405, the CPU 10 a distinguishes whether an unfinished lineexists in the GUI screen data. When an unfinished line exists, the CPU10 a brings the process to S406. At S406, the CPU 10 a specifies thefollowing target line from the unfinished lines in the GUI screen data,returning the process to S402.

[0094] When all the lines in the GUI screen data are finished during theloop or S402 through S406, the CPU 10 a branches the process at S405,finishing the background correction subroutine. If the GUI screen datais not processed in the background correction subroutine, the backgroundbecomes monotone as shown in FIG. 19, for example. On the other hand,after the background correction subroutine, the background of the oddlines and the background of the even lines are displayed in thedifferent colors, respectively. FIG. 20 is a sample image of the screenprocessed by the background correction subroutine where the color of theodd lines is represented by hatching. The CPU 10 a brings the process toS204 of the GUI conversion subroutine of FIG. 5 after executing thebackground correction process.

[0095] At S204, the CPU 10 a executes a cursor display correctionsubroutine. FIG. 21 is a flowchart showing the contents of the cursordisplay correction subroutine.

[0096] At S501 of the cursor display correction subroutine, the CPU 10 adistinguishes whether the cursor is designated to be displayed as anunderline covering the entire length of a line. The designation ispredetermined by an operator of the client computer 10. When it isdesignated in such a manner, the CPU 10 a brings the process to S502.

[0097] At S502, the CPU 10 a changes the setting of the GUI screen dataso that the cursor is displayed as an underline covering the entirelength of a line. In addition, FIG. 17 shows one example of the screendisplayed based on the GUI screen data changed at S502. The CPU 10 afinishes the cursor display correction subroutine after executing theprocess at S502, bringing the process to S205 of the GUI conversionsubroutine in FIG. 5.

[0098] On the other hand, when the cursor is not designated to bedisplayed as an underline covering the entire length of a line, the CPU10 a brings the process from S501 to S503.

[0099] At S503, the CPU 10 a distinguishes whether the text box in whichcursor is located (the current text box) is designated to be displayedin a color different from the other text boxes. The designation ispredetermined by an operator of the client computer 10. When it isdesignated in such a manner, the CPU 10 a brings the process to S504.

[0100] At S504, the CPU 10 a changes the setting of the GUI screen dataso that the current text box is displayed in the color different fromthe other text boxes. In addition, FIG. 22 is a sample image of thescreen displayed based on the GUI screen data changed at S504 where thecolor of the current text box is represented by hatching. The CPU 10 abrings the process to S505 after executing the process at S504.

[0101] At S505, the CPU 10 a distinguishes whether a text in a text boxis designated to be displayed in a color (reversal color) different fromthe color in the text box in which the cursor is positioned. When it isnot designated in such a manner, the CPU 10 a finishes the cursordisplay correction subroutine, bringing the process to S205 of the GUIconversion subroutine in FIG. 5. On the other hand, when the text isdesignated to be displayed in the reversal color, the CPU 10 a bringsthe process to S506.

[0102] At S506, the CPU 10 a changes the setting of the GUI screen dataso that the attribute of the color of a text in a text box is set as thevalue representing the color (reversal color) different from the colorof the current text box. Then, the CPU 10 a finishes the cursor displaycorrection subroutine after executing the process at S506, bringing theprocess to S205 of the GUI conversion subroutine in FIG. 5.

[0103] On the other hand, when the current text box is not designated tobe displayed in the color different from the other text boxes, the CPU10 a brings the process from S503 to S507.

[0104] At S507, the CPU 10 a distinguishes whether the line on which thecursor is positioned is designated to be displayed in a color differentfrom the other lines. The designation is predetermined by an operator ofthe client computer 10. When it is not designated in such a manner, theCPU 10 a finishes the cursor display correction subroutine, bringing theprocess to S205 of the GUI conversion subroutine in FIG. 5. On the otherhand, when the line with the cursor is designated to be displayed in thecolor different from the other lines, the CPU 10 a brings the process toS508.

[0105] At S508, the CPU 10 a changes the setting of the GUI screen dataso that the line on which the cursor is positioned is displayed in thecolor different from the other lines. In addition, FIG. 23 is a sampleimage of a screen displayed based on the GUI screen data changed at S508where the color of the line on which the cursor is positioned isrepresented by hatching. The CPU 10 a brings the process to S509 afterexecuting of the process at S508.

[0106] At S509, the CPU 10 a distinguishes whether a text in a text boxit is designated to be displayed in a color (reversal color) differentfrom the color of the line on which the cursor is positioned. When it isnot designated in such a manner, the CPU 10 a finishes the cursordisplay correction subroutine, bringing the process to S205 of the GUIconversion subroutine in FIG. 5. On the other hand, when the text isdesignated to be displayed in the reversal color, the CPU 10 a bringsthe process to S510.

[0107] At S510, the CPU 10 a changes the setting of the GUI screen dataso that the attribute of the color of a text in a text box is set as thevalue representing the color (reversal color) different from the colorof the line on which the cursor is positioned. Then, the CPU 10 afinishes the cursor display correction subroutine after executing theprocess at S510, bringing the process to S205 of the GUI conversionsubroutine in FIG. 5.

[0108] At S205, the CPU 10 a executes a character size adjustmentsubroutine. FIG. 24 is a flowchart showing the contents of the charactersize adjustment subroutine.

[0109] At S601 of the character size adjustment subroutine, the CPU 10 adistinguishes whether the size of characters displayed in a text box isdesignated to be adjusted. The designation is predetermined by anoperator of the client computer 10. When the character size isdesignated to be adjusted, the CPU 10 a brings the process to S602.

[0110] At S602, the CPU 10 a changes the setting of the GUI screen dataso that the attribute of a size of characters displayed in a text box isset as the value corresponding to the designated character size. Then,the CPU 10 a finishes the character size adjustment subroutine and theGUI conversion subroutine in FIG. 5, bringing the process to S106 of themain routine in FIG. 3.

[0111] On the other hand, when the character size is not designated tobe adjusted at S601, the CPU 10 a finishes the character size adjustmentsubroutine with keeping the size of characters displayed in a text boxas a standard value. Then, the CPU 10 a finishes the GUI conversionsubroutine of FIG. 5, bringing the process to S106 in the main routineof FIG. 3.

[0112] At S106, the CPU 10 a displays the screen on the monitor based onthe GUI screen data generated at S105.

[0113] Next, at S107, the CPU 10 a distinguishes whether all the pointsthat should be updated in the screen have been updated. That is, the CPU10 a distinguishes whether the GUI conversion at S105 and the screendisplay at S106 have been finished with respect to all the points in theCUI screen data transmitted from the host computer H in response to acommand. Then, the CPU 10 a returns the process to S104, when a pointthat should be updated has not been updated. When all the points thatshould be updated have been updated, the CPU 10 a brings the process toS108.

[0114] At S108, the CPU 10 a stands by until the enter key in theabove-mentioned input device is depressed. When the enter key isdepressed, the CPU 10 a brings the process to S109.

[0115] At S109, the CPU 10 a distinguishes whether the command input inthe screen at the time when the enter key is depressed is an endcommand. Then, the CPU 10 a brings the process to S110, when the commandinput in the screen is not an end command.

[0116] At S110, the CPU 10 a transmits the input command to the hostcomputer H, returning the process back to S104.

[0117] On the other hand, at S109, when the input command is an endcommand, the CPU 10 a brings the process to S111.

[0118] At S111, the CPU 10 a transmits an end command to the hostcomputer H, finishing the terminal emulating process.

[0119] Since the above host terminal emulating process is executedaccording to the embodiment, the following effects are acquired.

[0120] (1) According to the conventional method, since a text box is notformed at the cursor position when a GUI screen is displayed based onCUI screen data transmitted from the host computer H only for changingthe initial position of a cursor, an operator of the client computer 10might mistake the position on which a command should be input (see FIG.9). On the contrary, according to the embodiment, since the initialposition attribute of a cursor is set as the first coordinate in the CUIscreen data, the text box whose start point is positioned at the initialposition of the cursor is set in a GUI screen. Therefore, an operatorcan recognize a command input position correctly with the text box shownin the GUI screen (see FIG. 10).

[0121] (2) According to the conventional method, when CUI screen datafor an initial screen transmitted from the host computer H is convertedto GUI screen data, text boxes are displayed over the entire area of theinitial GUI screen, which reduces visibility of the GUI screen (see FIG.11). On the contrary, according to the embodiment, text boxes set up inthe GUI screen data are deleted in response to the fact that thenon-protecting field attribute is set at the coordinate of the upperleft corner in the CUI screen data. Therefore, an initial screen basedon the GUI screen data is easy to see for an operator of the clientcomputer 10 (see FIG. 12).

[0122] (3) According to the conventional method, when the CUI screendata in which the non-protecting field occupies three or more lines isconverted into GUI screen data, text boxes divided into three ore moreblocks are displayed in the GUI screen. Therefore, the GUI screen isdifficult to see for an operator of the client computer 10 (see FIG.13). On the contrary, according to the embodiment, text box set in GUIscreen data is changed into a single line or into multi-line formatbased on a designation by an operator. Therefore, the GUI screen is easyto see for an operator (see FIGS. 14 and 15).

[0123] (4) According to the conventional method, when CUI screen data inwhich a protecting field attribute corresponding to a non-protectingfield attribute is not set is transmitted from the host computer H andthe wrapping process is set to execute, a text box is displayed in theregion following the upper left corner (see FIG. 16). On the contrary,according to the embodiment, a text box set in the region following theupper left corner in GUI screen data is deleted when the wrappingprocess is set to execute. Therefore, a text box displayed on the GUIscreen is easy to see for an operator (see FIG. 17).

[0124] (5) According to the embodiment, since the GUI screen data is setso that the background color of the odd lines are different from that ofthe even lines, an operator can easily recognize a line on a GUI screen(see FIG. 20).

[0125] (6) According to the embodiment, an operator can change a settingof GUI screen data to display a cursor as an underline covering theentire length of a line, or to display a text box in which a cursor ispositioned in a color different from the other text boxes, or to displaya text box with a cursor in a color different from its background color.Therefore, an operator can easily find a position of a cursor on a GUIscreen (see FIGS. 17, 22 and 23).

[0126] (7) According to the embodiment, an operator can change a settingof GUI screen data to display a text in a text box in which a cursor ispositioned in a color different from a color of the cursor by changing acolor in the text box or by changing a color of a line. Therefore, anoperator can easily recognize a text input at a position of a cursor.

[0127] (8) According to the embodiment, an operator can change a settingof GUI screen data to adjust a character size of a text in a text box.Therefore, the character size of a text in a text box can be reduced toprevent overlap between a text and a frame of a text box on a GUIscreen, for example.

[0128] As described above, according to the present invention, GUIscreen data on which GUI parts are appropriately displayed can begenerated on the precondition that parts in a CUI screen are replaced byGUI parts one by one.

What is claimed is:
 1. A host terminal emulator that operates a clientcomputer, which is connected to a monitor for displaying various kindsof screens and to a communication control unit fortransmitting/receiving data to/from a host computer, said emulatorcomprising steps of: detecting a coordinate at which a predeterminedfirst attribute is set from coordinates in CUI screen data when saidcommunication control unit receives CUI screen data from said hostcomputer; generating GUI screen data in which GUI parts corresponding tosaid first attribute are set at respective coordinates following thedetected coordinate; correcting said GUI screen data in response to thecoordinate at which said first attribute is set; and displaying a screenbased on the corrected GUI screen data on said monitor.
 2. The hostterminal emulator according to claim 1, wherein said GUI screen data iscorrected to delete said GUI parts when the coordinate at which saidfirst attribute is set represents the upper left corner of the screen.3. A host terminal emulator that operates a client computer, which isconnected to a monitor for displaying various kinds of screens and to acommunication control unit for transmitting/receiving data to/from ahost computer, said emulator comprising steps of: detecting a coordinateat which a predetermined first attribute is set from coordinates in CUIscreen data when said communication control unit receives CUI screendata from said host computer; generating GUI screen data in which GUIparts corresponding to said first attribute are set at respectivecoordinates following the coordinate at which said first attribute isset; detecting a coordinate at which a second attribute corresponding tosaid first attribute is set from coordinates in said CUI screen data;correcting the GUI screen data in response to the coordinate at whichsaid second attribute is set when a coordinate at which said secondattribute is detected; and displaying a screen based on the correctedGUI screen data on said monitor.
 4. The host terminal emulator accordingto claim 3, wherein said GUI screen data is corrected to transform saidGUI parts when a coordinate at which said second attribute is detectedand the line including the coordinate at which said second attribute isset is separated three or more lines from the line including thecoordinate at which the first attribute is set.
 5. A host terminalemulator that operates a client computer, which is connected to amonitor for displaying various kinds of screens and to a communicationcontrol unit for transmitting/receiving data to/from a host computer,said emulator comprising steps of: detecting a coordinate at which apredetermined first attribute is set from coordinates in CUI screen datawhen said communication control unit receives CUI screen data from saidhost computer; generating GUI screen data in which GUI partscorresponding to said first attribute are set at respective coordinatesfollowing the detected coordinate; detecting a coordinate at which asecond attribute corresponding to said first attribute is set fromcoordinates in said CUI screen data; correcting the GUI screen data totransform said GUI parts when a coordinate at which said secondattribute is not detected; and displaying a screen based on thecorrected GUT screen data on said monitor.
 6. A host terminal emulatingmethod running on a client computer that transmits/receives data to/froma host computer, said method comprising steps of: detecting a coordinateat which a predetermined first attribute is set from coordinates in CUIscreen data when CUI screen data is received from said host computer;generating GUI screen data in which GUI parts corresponding to saidfirst attribute are set at respective coordinates following the detectedcoordinate; correcting said GUI screen data in response to thecoordinate at which said first attribute is set; and displaying a screenbased on the corrected GUI screen data on a monitor.
 7. A host terminalemulating method running on a client computer that transmits/receivesdata to/from a host computer, said method comprising steps of: detectinga coordinate at which a predetermined first attribute is set fromcoordinates in CUI screen data when CUI screen data is received fromsaid host computer; generating GUI screen data in which GUI partscorresponding to said first attribute are set at respective coordinatesfollowing the coordinate at which said first attribute is set; detectinga coordinate at which a second attribute corresponding to said firstattribute is set from coordinates in said CUI screen data; correctingthe GUI screen data in response to the coordinate at which said secondattribute is set when a coordinate at which said second attribute isdetected; and displaying a screen based on the corrected GUI screen dataon a monitor.
 8. A host terminal emulating method running on a clientcomputer that transmits/receives data to/from a host computer, saidmethod comprising steps of: detecting a coordinate at which apredetermined first attribute is set from coordinates in CUI screen datawhen CUI screen data is received from said host computer; generating GUIscreen data in which GUI parts corresponding to said first attribute areset at respective coordinates following the coordinate at which saidfirst attribute is set; detecting a coordinate at which a secondattribute corresponding to said first attribute is set from coordinatesin said CUI screen data; correcting the GUI screen data to transformsaid GUI parts when a coordinate at which said second attribute is notdetected; and displaying a screen based on the corrected GUI screen dataon a monitor.
 9. A computer-readable medium that contains a hostterminal emulator that operates a client computer, which is connected toa monitor for displaying various kinds of screens and to a communicationcontrol unit for transmitting/receiving data to/from a host computer,said emulator comprising steps of: detecting a coordinate at which apredetermined first attribute is set from coordinates in CUI screen datawhen said communication control unit receives CUI screen data from saidhost computer: generating GUI screen data in which GUI partscorresponding to said first attribute are set at respective coordinatesfollowing the detected coordinate; correcting said GUI screen data inresponse to the coordinate at which said first attribute is set; anddisplaying a screen based on the corrected GUI screen data on saidmonitor.
 10. A computer-readable medium that contains a host terminalemulator that operates a client computer, which is connected to amonitor for displaying various kinds of screens and to a communicationcontrol unit for transmitting/receiving data to/from a host computer,said emulator comprising steps of: detecting a coordinate at which apredetermined first attribute is set from coordinates in CUI screen datawhen said communication control unit receives CUI screen data from saidhost computer; generating GUI screen data in which GUI partscorresponding to said first attribute are set at respective coordinatesfollowing the coordinate at which said first attribute is set; detectinga coordinate at which a second attribute corresponding to said firstattribute is set from coordinates in said CUI screen data; correctingthe GUI screen data in response to the coordinate at which said secondattribute is set when a coordinate at which said second attribute isdetected; and displaying a screen based on the corrected GUI screen dataon said monitor
 12. A computer-readable medium that contains a hostterminal emulator that operates a client computer, which is connected toa monitor for displaying various kinds of screens and to a communicationcontrol unit for transmitting/receiving data to/from a host computer,said emulator comprising steps of: detecting a coordinate at which apredetermined first attribute is set from coordinates in CUI screen datawhen said communication control unit receives CUI screen data from saidhost computer; generating GUI screen data in which GUI partscorresponding to said first attribute are set at respective coordinatesfollowing the detected coordinate; detecting a coordinate at which asecond attribute corresponding to said first attribute is set fromcoordinates in said CUI screen data; correcting the GUI screen data totransform said GUI parts when a coordinate at which said secondattribute is not detected; and displaying a screen based on thecorrected GUI screen data on said monitor.